load("//bzl:cpp_library.bzl", "cpp_library")

package(default_visibility = ["//visibility:public"])

cpp_library(
    name = "async_generator",
    hdrs = [
        "AsyncGenerator.h",
    ],
    deps = [
        "//folly/coro:async_generator",
    ],
)

cpp_library(
    name = "async_pipe",
    hdrs = [
        "AsyncPipe.h",
    ],
    deps = [
        "//folly/coro:async_pipe",
    ],
)

cpp_library(
    name = "async_scope",
    hdrs = [
        "AsyncScope.h",
    ],
    deps = [
        "//folly/coro:async_scope",
    ],
)

cpp_library(
    name = "async_stack",
    hdrs = [
        "AsyncStack.h",
    ],
    deps = [
        "//folly/coro:async_stack",
    ],
)

cpp_library(
    name = "baton",
    hdrs = [
        "Baton.h",
    ],
    deps = [
        "//folly/coro:baton",
    ],
)

cpp_library(
    name = "blocking_wait",
    hdrs = [
        "BlockingWait.h",
    ],
    deps = [
        "//folly/coro:blocking_wait",
    ],
)

cpp_library(
    name = "collect",
    hdrs = [
        "Collect.h",
    ],
    textual_hdrs = [
        "Collect-inl.h",
    ],
    deps = [
        "//folly/coro:collect",
    ],
)

cpp_library(
    name = "concat",
    hdrs = [
        "Concat.h",
    ],
    textual_hdrs = [
        "Concat-inl.h",
    ],
    deps = [
        "//folly/coro:concat",
    ],
)

cpp_library(
    name = "coroutine",
    hdrs = [
        "Coroutine.h",
    ],
    deps = [
        "//folly/coro:coroutine",
    ],
)

cpp_library(
    name = "current_executor",
    hdrs = [
        "CurrentExecutor.h",
    ],
    deps = [
        "//folly/coro:current_executor",
    ],
)

cpp_library(
    name = "detach_on_cancel",
    hdrs = [
        "DetachOnCancel.h",
    ],
    deps = [
        "//folly/coro:detach_on_cancel",
    ],
)

cpp_library(
    name = "detail_barrier",
    hdrs = [
        "detail/Barrier.h",
    ],
    deps = [
        "//folly/coro:detail_barrier",
    ],
)

cpp_library(
    name = "detail_barrier_task",
    hdrs = [
        "detail/BarrierTask.h",
    ],
    deps = [
        "//folly/coro:detail_barrier_task",
    ],
)

cpp_library(
    name = "detail_current_async_frame",
    hdrs = [
        "detail/CurrentAsyncFrame.h",
    ],
    deps = [
        "//folly/coro:detail_current_async_frame",
    ],
)

cpp_library(
    name = "detail_helpers",
    hdrs = [
        "detail/Helpers.h",
    ],
    deps = [
        "//folly/coro:detail_helpers",
    ],
)

cpp_library(
    name = "detail_malloc",
    hdrs = [
        "detail/Malloc.h",
    ],
    deps = [
        "//folly/coro:detail_malloc",
    ],
)

cpp_library(
    name = "detail_manual_lifetime",
    hdrs = [
        "detail/ManualLifetime.h",
    ],
    deps = [
        "//folly/coro:detail_manual_lifetime",
    ],
)

cpp_library(
    name = "detail_traits",
    hdrs = [
        "detail/Traits.h",
    ],
    deps = [
        "//folly/coro:detail_traits",
    ],
)

cpp_library(
    name = "filter",
    hdrs = [
        "Filter.h",
    ],
    textual_hdrs = [
        "Filter-inl.h",
    ],
    deps = [
        "//folly/coro:filter",
    ],
)

cpp_library(
    name = "future_util",
    hdrs = [
        "FutureUtil.h",
    ],
    deps = [
        "//folly/coro:future_util",
    ],
)

cpp_library(
    name = "generator",
    hdrs = [
        "Generator.h",
    ],
    deps = [
        "//folly/coro:generator",
    ],
)

cpp_library(
    name = "gmock_helpers",
    hdrs = [
        "GmockHelpers.h",
    ],
    deps = [
        "//folly/coro:gmock_helpers",
    ],
)

cpp_library(
    name = "gtest_helpers",
    hdrs = [
        "GtestHelpers.h",
    ],
    deps = [
        "//folly/coro:gtest_helpers",
    ],
)

cpp_library(
    name = "inline_task",
    hdrs = [
        "detail/InlineTask.h",
    ],
    deps = [
        "//folly/coro:inline_task",
    ],
)

cpp_library(
    name = "invoke",
    hdrs = [
        "Invoke.h",
    ],
    deps = [
        "//folly/coro:invoke",
    ],
)

cpp_library(
    name = "merge",
    hdrs = [
        "Merge.h",
    ],
    textual_hdrs = [
        "Merge-inl.h",
    ],
    deps = [
        "//folly/coro:merge",
    ],
)

cpp_library(
    name = "mutex",
    hdrs = [
        "Mutex.h",
    ],
    deps = [
        "//folly/coro:mutex",
    ],
)

cpp_library(
    name = "promise",
    hdrs = [
        "Promise.h",
    ],
    deps = [
        "//folly/coro:promise",
    ],
)

cpp_library(
    name = "result",
    hdrs = [
        "Result.h",
    ],
    deps = [
        "//folly/coro:result",
    ],
)

cpp_library(
    name = "retry",
    hdrs = [
        "Retry.h",
    ],
    deps = [
        "//folly/coro:retry",
    ],
)

cpp_library(
    name = "rust_adaptors",
    hdrs = [
        "RustAdaptors.h",
    ],
    deps = [
        "//folly/coro:rust_adaptors",
    ],
)

cpp_library(
    name = "scope_exit",
    hdrs = [
        "ScopeExit.h",
    ],
    deps = [
        "//folly/coro:scope_exit",
    ],
)

cpp_library(
    name = "shared_lock",
    hdrs = [
        "SharedLock.h",
    ],
    deps = [
        "//folly/coro:shared_lock",
    ],
)

cpp_library(
    name = "shared_mutex",
    hdrs = [
        "SharedMutex.h",
    ],
    deps = [
        "//folly/coro:shared_mutex",
    ],
)

cpp_library(
    name = "sleep",
    hdrs = [
        "Sleep.h",
    ],
    textual_hdrs = [
        "Sleep-inl.h",
    ],
    deps = [
        "//folly/coro:sleep",
    ],
)

cpp_library(
    name = "small_unbounded_queue",
    hdrs = [
        "SmallUnboundedQueue.h",
    ],
    deps = [
        "//folly/coro:small_unbounded_queue",
    ],
)

cpp_library(
    name = "task",
    hdrs = [
        "Task.h",
    ],
    deps = [
        "//folly/coro:task",
    ],
)

cpp_library(
    name = "timed_wait",
    hdrs = [
        "TimedWait.h",
    ],
    deps = [
        "//folly/coro:timed_wait",
    ],
)

cpp_library(
    name = "timeout",
    hdrs = [
        "Timeout.h",
    ],
    textual_hdrs = [
        "Timeout-inl.h",
    ],
    deps = [
        "//folly/coro:timeout",
    ],
)

cpp_library(
    name = "traits",
    hdrs = [
        "Traits.h",
    ],
    deps = [
        "//folly/coro:traits",
    ],
)

cpp_library(
    name = "transform",
    hdrs = [
        "Transform.h",
    ],
    textual_hdrs = [
        "Transform-inl.h",
    ],
    deps = [
        "//folly/coro:transform",
    ],
)

cpp_library(
    name = "unbounded_queue",
    hdrs = [
        "UnboundedQueue.h",
    ],
    deps = [
        "//folly/coro:unbounded_queue",
    ],
)

cpp_library(
    name = "via_if_async",
    hdrs = [
        "ViaIfAsync.h",
    ],
    deps = [
        "//folly/coro:via_if_async",
    ],
)

cpp_library(
    name = "with_async_stack",
    hdrs = [
        "WithAsyncStack.h",
    ],
    deps = [
        "//folly/coro:with_async_stack",
    ],
)

cpp_library(
    name = "with_cancellation",
    hdrs = [
        "WithCancellation.h",
    ],
    deps = [
        "//folly/coro:with_cancellation",
    ],
)

cpp_library(
    name = "bounded_queue",
    hdrs = [
        "BoundedQueue.h",
    ],
    deps = [
        "//folly/coro:bounded_queue",
    ],
)

cpp_library(
    name = "shared_promise",
    hdrs = [
        "SharedPromise.h",
    ],
    deps = [
        "//folly/coro:shared_promise",
    ],
)

cpp_library(
    name = "cleanup",
    hdrs = [
        "Cleanup.h",
    ],
    deps = [
        "//folly/coro:cleanup",
    ],
)

cpp_library(
    name = "auto_cleanup_fwd",
    hdrs = [
        "AutoCleanup-fwd.h",
    ],
    deps = [
        "//folly/coro:auto_cleanup_fwd",
    ],
)

cpp_library(
    name = "auto_cleanup",
    hdrs = [
        "AutoCleanup.h",
    ],
    deps = [
        "//folly/coro:auto_cleanup",
    ],
)
